package org.jeecgframework.web.system.pojo.base;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.persistence.*;
import java.util.Date;

/**
 * @author onlineGenerator
 * @version V1.0
 * @Title: Entity
 * @Description: 服务单
 * @date 2018-01-02 12:05:40
 */
@Entity
@Table(name = "cbs_service", schema = "")
@SuppressWarnings("serial")
public class CbsServiceEntity implements java.io.Serializable {
    /**
     * id
     */
    private java.lang.String id;
    /**
     * 服务单号
     */
    private java.lang.String code;
    /**
     * 联系人id，可能为空
     */
    private ZyContactsEntity zyContactsId;
    /**
     * 设备序列号
     */
    private java.lang.String sn;

    /**
     * bao修时设备机型
     */
    private String typeDec;
    /**
     * 设备ID
     */
    private ZyEquipmentSpareEntity zyEquipmentSpareId;
    /**
     * 服务器序列号
     */
    private String  snServer;
    /**
     * 服务器序列号
     * */
    private ZyEquipmentSpareEntity zyEquipmentSpareServiceId;
    /**
     * 所属影院id
     */
    private ZyCinemaEntity zyCinemaId;

    /**
     * 影院名称
     */
    private String zyCinemaName;
    /**
     * 院线
     */
    private String typename;

    /**
     * 所属省
     */
    private TSTerritory province;
    /**
     * 所属市
     */
    private TSTerritory city;
    /**
     * 地址
     */
    private java.lang.String address;
    /**
     * 委托方
     */
    private java.lang.String client;
    /**
     * 服务单来源类型采用数据字典HD新建=1微信=2补单=3
     */
    private java.lang.String sourceType;
    /**
     * 服务类型一级分类
     */
    private CbsServiceTypeEntity serviceType1;
    /**
     * 服务类型二级分类
     */
    private CbsServiceTypeEntity serviceType2;
    /**
     * 服务描述
     */
    private java.lang.String description;
    /**
     * HD预判断
     */
    private java.lang.String judge400;
    /**
     * 服务单状态
     */
    private java.lang.String status;
    /**
     * 联系人姓名
     */
    private java.lang.String contactsName;
    /*
    * 联系人电话（微信）
    * */
    private java.lang.String contactsPhone;
    /*
    * 产品类型（微信）
    * */
    private java.lang.String productModel;
    /*
    * 设备数量（微信）
    * */
    private java.lang.Integer equipmentNum;
    /*
    * 延保年限（微信）
    * */
    private java.lang.Integer extendedYear;
    /*
    * 希望服务时间（微信）
    * */
    private java.util.Date serviceDate;
    /**
     * 邮箱
     */
    private java.lang.String email;
    /**
     * QQ联系方式
     */
    private java.lang.String qq;
    /**
     * 故障代码
     */
    private java.lang.String errorCode;
    /**
     * 故障分类一级
     */
    private CbsErrorTypeEntity errorType1;
    /**
     * 故障分类二级
     */
    private CbsErrorTypeEntity errorType2;
    /**
     * 关键备件故障分类一级
     */
    private CbsEquipmentErrorTypeEntity equipmentErrorType1;
    /**
     * 关键备件故障分类二级
     */
    private CbsEquipmentErrorTypeEntity equipmentErrorType2;
    /**
     * 级别
     */
    private java.lang.String level;
    /**
     * 第三方处理进度状态
     */
    private java.lang.String speedStatus;
    /**
     * 责任人
     */
    private TSUser personLiable;
    /**
     * 关单人
     */
    private TSUser closeUser;
    /**
     * 是否特批
     */
    private java.lang.Integer special;
    /**
     * 是否HD关单
     */
    private java.lang.Integer hdClose;
    /**
     * 特殊案例标记
     */
    private java.lang.String caseFlag;
    /**
     * HD派单给商务的时间
     */
    private java.util.Date assignTime;
    /**
     * 派单给工程师的时间
     */
    private java.util.Date engineerTime;
    /**
     * 关单时间
     */
    private java.util.Date closeTime;
    /**
     * sr
     */
    private java.lang.String sr;
    /**
     * so
     */
    private java.lang.String so;

    /**
     * 创建人名称
     */
    private java.lang.String createName;
    /**
     * 创建人登录名称
     */
    private java.lang.String createBy;
    /**
     * 创建日期
     */
    private java.util.Date createDate;
    /**
     * 更新人名称
     */
    private java.lang.String updateName;
    /**
     * 更新人登录名称
     */
    private java.lang.String updateBy;
    /**
     * 更新日期
     */
    private java.util.Date updateDate;

    // 省-市
    private String tsTerritoryVal;

    /**
     * 服务单评价
     */
    private CbsInspectionEvaluateEntity evaluate;

    /**
     * 取消服务单原因
     */
    private String cancelRemark;

    /**
     * 服务商code
     */
    private String serviceProviderCode;

    //第三方商务 id
    private String zyContacts;

    //区域工程师 id
    private String areaEngineer;

    //工程师 id
    private String engineer;

    //HD派单人
    private String hdUser;

    /**400处理过程*/
    private String handleDes;  //修改bug时，将表结构做了调整

    private String authentication; //工程师级别要求

    private  String assignDes; //派单要求

    private Integer reportType;//完工单类型 1-现场，远程 3-引擎翻新现场,4-现场检测,5-光管翻新,6-技术支持,7-引擎翻新验收

    private String reportId; //完工单id

    /**
     * 设备保修期截止时间
     */
    private Date repairEndDate;

    /**
     * 服务器保修日期
     */
    private Date repairEndDateService;

    /**
     * 报价单号
     */
    private String OfferNo;

//    ------------------------------------  APP 端上门签到信息记录 （到货异常记录）----------------------------------
    /**
     * 预约上门服务时间，第一次
     */
    private Date orderTime;
    /**第二次预约上门时间  */
    private Date orderTimeAgin;
    /*预约次数，最多2次 1:第一次  2：第二次 */
    private Integer doorNumber;
    //预约上门备注
    private String remarks;
//----------------------------------------------------------------------------------------------------------------------


    @Column(name = "type_dec")
    public String getTypeDec() {
        return typeDec;
    }

    public void setTypeDec(String typeDec) {
        this.typeDec = typeDec;
    }

    @Column(name = "offer_no")
    public String getOfferNo() {
        return OfferNo;
    }

    public void setOfferNo(String offerNo) {
        OfferNo = offerNo;
    }

    /**
     * 保修期截止时间
     * @return
     */
    @Column(name = "repair_end_date_service")
    public Date getRepairEndDateService() {
        return repairEndDateService;
    }

    public void setRepairEndDateService(Date repairEndDateService) {
        this.repairEndDateService = repairEndDateService;
    }

    /**
     * 保修期截止时间
     * @return
     */
    @Column(name = "repair_end_date")
    public Date getRepairEndDate() {
        return repairEndDate;
    }

    public void setRepairEndDate(Date repairEndDate) {
        this.repairEndDate = repairEndDate;
    }

    @Column(name = "hd_user_id")
    public String getHdUser() {
        return hdUser;
    }

    public void setHdUser(String hdUser) {
        this.hdUser = hdUser;
    }

    @Column(name = "zy_contact_id")
    public String getZyContacts() {
        return zyContacts;
    }

    public void setZyContacts(String zyContacts) {
        this.zyContacts = zyContacts;
    }

    @Column(name="aeg_id",nullable=true)
    public String getAreaEngineer() {
        return areaEngineer;
    }

    public void setAreaEngineer(String areaEngineer) {
        this.areaEngineer = areaEngineer;
    }

    @Column(name = "engineer_id", nullable = true)
    public String getEngineer() {
        return engineer;
    }

    public void setEngineer(String engineer) {
        this.engineer = engineer;
    }

    @Column(name ="assign_des",nullable=true,length=300)
    public String getAssignDes() {
        return assignDes;
    }

    public void setAssignDes(String assignDes) {
        this.assignDes = assignDes;
    }
    @Column(name ="report_type",nullable=true,length=10)
    public Integer getReportType() {
        return reportType;
    }

    public void setReportType(Integer reportType) {
        this.reportType = reportType;
    }
    @Column(name ="report_id",nullable=true,length=50)
    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }

    @Column(name ="authentication",nullable=true,length=300)
    public String getAuthentication() {
        return authentication;
    }

    public void setAuthentication(String authentication) {
        this.authentication = authentication;
    }

    /**
     *方法: 取得java.lang.String
     *@return: java.lang.String  400处理过程
     */
    @Column(name ="HANDLE_DES",nullable=true,length=300)
    public String getHandleDes(){
        return this.handleDes;
    }

    /**
     *方法: 设置java.lang.String
     *@param: java.lang.String  400处理过程
     */
    public void setHandleDes(String handleDes){
        this.handleDes = handleDes;
    }

    @Column(name = "remarks")
    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    @Column(name = "order_time_agin")
    public Date getOrderTimeAgin() {
        return orderTimeAgin;
    }

    public void setOrderTimeAgin(Date orderTimeAgin) {
        this.orderTimeAgin = orderTimeAgin;
    }
    @Column(name = "door_number")
    public Integer getDoorNumber() {
        return doorNumber;
    }

    public void setDoorNumber(Integer doorNumber) {
        this.doorNumber = doorNumber;
    }

    @Column(name = "service_provider_code", nullable = true, length = 50)
    public String getServiceProviderCode() {
        return serviceProviderCode;
    }

    public void setServiceProviderCode(String serviceProviderCode) {
        this.serviceProviderCode = serviceProviderCode;
    }

    @OneToOne(optional = true, mappedBy = "cbsService")
    @JsonIgnore
    public CbsInspectionEvaluateEntity getEvaluate() {
        return evaluate;
    }

    public void setEvaluate(CbsInspectionEvaluateEntity evaluate) {
        this.evaluate = evaluate;
    }

    @Column(name = "zy_cinema_name", nullable = true, length = 50)
    public String getZyCinemaName() {
        return zyCinemaName;
    }

    public void setZyCinemaName(String zyCinemaName) {
        this.zyCinemaName = zyCinemaName;
    }

    @Transient
    public String getTsTerritoryVal() {
        return tsTerritoryVal;
    }

    public void setTsTerritoryVal(String tsTerritoryVal) {
        this.tsTerritoryVal = tsTerritoryVal;
    }

    @Column(name = "assign_time", nullable = true, length = 50)
    public Date getAssignTime() {
        return assignTime;
    }

    public void setAssignTime(Date assignTime) {
        this.assignTime = assignTime;
    }

    @Column(name = "engineer_time", nullable = true, length = 50)
    public Date getEngineerTime() {
        return engineerTime;
    }

    public void setEngineerTime(Date engineerTime) {
        this.engineerTime = engineerTime;
    }

    /**
     * 院线名称
     *
     * @return
     */
    @Column(name = "type_intheater_name", nullable = true, length = 50)
    public String getTypename() {
        return typename;
    }

    public void setTypename(String typename) {
        this.typename = typename;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  id
     */
    @Id
    @GeneratedValue(generator = "paymentableGenerator")
    @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
    @Column(name = "ID", nullable = false, length = 36)
    public java.lang.String getId() {
        return this.id;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  id
     */
    public void setId(java.lang.String id) {
        this.id = id;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务单号
     */
    @Column(name = "CODE", nullable = true, length = 50)
    public java.lang.String getCode() {
        return this.code;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务单号
     */
    public void setCode(java.lang.String code) {
        this.code = code;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  联系人id
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ZY_CONTACTS_ID", nullable = true)
    public ZyContactsEntity getZyContactsId() {
        return this.zyContactsId;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  联系人id
     */
    public void setZyContactsId(ZyContactsEntity zyContactsId) {
        this.zyContactsId = zyContactsId;
    }

    @Column(name = "sr", length = 50)
    public String getSr() {
        return sr;
    }

    public void setSr(String sr) {
        this.sr = sr;
    }

    @Column(name = "so", length = 255)
    public String getSo() {
        return so;
    }
    public void setSo(String so) {
        this.so = so;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  设备序列号
     */
    @Column(name = "sn", length = 50)
    public java.lang.String getSn() {
        return this.sn;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  设备序列号
     */
    public void setSn(java.lang.String sn) {
        this.sn = sn;
    }

    /**
     * 服务器序列号
     * @return
     */
    @Column(name = "sn_server", length = 50)
    public String getSnServer() {
        return snServer;
    }

    public void setSnServer(String snServer) {
        this.snServer = snServer;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  设备ID
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ZY_EQUIPMENT_SPARE_ID")
    @NotFound(action = NotFoundAction.IGNORE)
    public ZyEquipmentSpareEntity getZyEquipmentSpareId() {
        return this.zyEquipmentSpareId;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  设备ID
     */
    public void setZyEquipmentSpareId(ZyEquipmentSpareEntity zyEquipmentSpareId) {
        this.zyEquipmentSpareId = zyEquipmentSpareId;
    }

    /**
     * 服务器序列号
     * @return
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ZY_EQUIPMENT_SPARE_SERVICE_ID")
    @NotFound(action = NotFoundAction.IGNORE)
    public ZyEquipmentSpareEntity getZyEquipmentSpareServiceId() {
        return zyEquipmentSpareServiceId;
    }

    public void setZyEquipmentSpareServiceId(ZyEquipmentSpareEntity zyEquipmentSpareServiceId) {
        this.zyEquipmentSpareServiceId = zyEquipmentSpareServiceId;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  所属影院id
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ZY_CINEMA_ID")
    public ZyCinemaEntity getZyCinemaId() {
        return this.zyCinemaId;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  所属影院id
     */
    public void setZyCinemaId(ZyCinemaEntity zyCinemaId) {
        this.zyCinemaId = zyCinemaId;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  所属省
     */
    @JsonIgnore
    @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.EAGER)
    @JoinColumn(name = "PROVINCE")
    public TSTerritory getProvince() {
        return this.province;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  所属省
     */
    public void setProvince(TSTerritory province) {
        this.province = province;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  所属市
     */
    @JsonIgnore
    @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.EAGER)
    @JoinColumn(name = "CITY")
    public TSTerritory getCity() {
        return this.city;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  所属市
     */
    public void setCity(TSTerritory city) {
        this.city = city;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  地址
     */
    @Column(name = "ADDRESS", nullable = true, length = 100)
    public java.lang.String getAddress() {
        return this.address;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  地址
     */
    public void setAddress(java.lang.String address) {
        this.address = address;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  委托方
     */
    @Column(name = "CLIENT", nullable = true, length = 100)
    public java.lang.String getClient() {
        return this.client;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  委托方
     */
    public void setClient(java.lang.String client) {
        this.client = client;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务单来源类型采用数据字典HD新建=1微信=2补单=3
     */
    @Column(name = "SOURCE_TYPE", nullable = true, length = 36)
    public java.lang.String getSourceType() {
        return this.sourceType;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务单来源类型采用数据字典HD新建=1微信=2补单=3
     */
    public void setSourceType(java.lang.String sourceType) {
        this.sourceType = sourceType;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务类型一级分类
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "SERVICE_TYPE_1", nullable = true)
    public CbsServiceTypeEntity getServiceType1() {
        return this.serviceType1;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务类型一级分类
     */
    public void setServiceType1(CbsServiceTypeEntity serviceType1) {
        this.serviceType1 = serviceType1;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务类型二级分类
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "SERVICE_TYPE_2", nullable = true)
    public CbsServiceTypeEntity getServiceType2() {
        return this.serviceType2;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务类型二级分类
     */
    public void setServiceType2(CbsServiceTypeEntity serviceType2) {
        this.serviceType2 = serviceType2;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务描述
     */
    @Column(name = "DESCRIPTION", nullable = true, length = 500)
    public java.lang.String getDescription() {
        return this.description;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务描述
     */
    public void setDescription(java.lang.String description) {
        this.description = description;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  400预判
     */
    @Column(name = "JUDGE400", nullable = true, length = 500)
    public java.lang.String getJudge400() {
        return this.judge400;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  400预判
     */
    public void setJudge400(java.lang.String judge400) {
        this.judge400 = judge400;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  服务单状态
     */
    @Column(name = "STATUS", nullable = true, length = 10)
    public java.lang.String getStatus() {
        return this.status;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  服务单状态
     */
    public void setStatus(java.lang.String status) {
        this.status = status;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  联系人姓名
     */
    @Column(name = "CONTACTS_NAME", nullable = true, length = 50)
    public java.lang.String getContactsName() {
        return this.contactsName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  联系人姓名
     */
    public void setContactsName(java.lang.String contactsName) {
        this.contactsName = contactsName;
    }
    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  联系人电话
     */
    @Column(name = "CONTACTS_PHONE", nullable = true, length = 50)
    public String getContactsPhone() {
        return contactsPhone;
    }

    public void setContactsPhone(String contactsPhone) {
        this.contactsPhone = contactsPhone;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  产品类型
     */
    @Column(name = "PRODUCT_MODEL", nullable = true, length = 50)
    public String getProductModel() {
        return productModel;
    }

    public void setProductModel(String productModel) {
        this.productModel = productModel;
    }

    /**
     *
     * @return: java.lang.Integer  设备台数
     */
    @Column(name = "EQUIPMENT_NUM", nullable = true, length = 50)
    public Integer getEquipmentNum() {
        return equipmentNum;
    }
    public void setEquipmentNum(Integer equipmentNum) {
        this.equipmentNum = equipmentNum;
    }

    /**
     *
     * @return: java.util.Date  希望服务时间
     */
    @Column(name = "SERVICE_DATE", nullable = true, length = 50)
    public Date getServiceDate() {
        return serviceDate;
    }
    public void setServiceDate(Date serviceDate) {
        this.serviceDate = serviceDate;
    }

    /**
     *
     * @return: java.lang.Integer  延保年限
     */
    @Column(name = "EXTENDED_YEAR", nullable = true, length = 50)
    public Integer getExtendedYear() {
        return extendedYear;
    }
    public void setExtendedYear(Integer extendedYear) {
        this.extendedYear = extendedYear;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  邮箱
     */
    @Column(name = "EMAIL", nullable = true, length = 50)
    public java.lang.String getEmail() {
        return this.email;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  邮箱
     */
    public void setEmail(java.lang.String email) {
        this.email = email;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  QQ联系方式
     */
    @Column(name = "QQ", nullable = true, length = 50)
    public java.lang.String getQq() {
        return this.qq;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  QQ联系方式
     */
    public void setQq(java.lang.String qq) {
        this.qq = qq;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  故障代码
     */
    @Column(name = "ERROR_CODE", nullable = true, length = 200)
    public java.lang.String getErrorCode() {
        return this.errorCode;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  故障代码
     */
    public void setErrorCode(java.lang.String errorCode) {
        this.errorCode = errorCode;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  故障分类一级
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ERROR_TYPE_1", nullable = true)
    public CbsErrorTypeEntity getErrorType1() {
        return this.errorType1;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  故障分类一级
     */
    public void setErrorType1(CbsErrorTypeEntity errorType1) {
        this.errorType1 = errorType1;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  故障分类二级
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ERROR_TYPE_2", nullable = true)
    public CbsErrorTypeEntity getErrorType2() {
        return this.errorType2;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  故障分类二级
     */
    public void setErrorType2(CbsErrorTypeEntity errorType2) {
        this.errorType2 = errorType2;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  关键备件故障分类一级
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "EQUIPMENT_ERROR_TYPE_1", nullable = true)
    public CbsEquipmentErrorTypeEntity getEquipmentErrorType1() {
        return this.equipmentErrorType1;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  关键备件故障分类一级
     */
    public void setEquipmentErrorType1(CbsEquipmentErrorTypeEntity equipmentErrorType1) {
        this.equipmentErrorType1 = equipmentErrorType1;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  关键备件故障分类二级
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "EQUIPMENT_ERROR_TYPE_2", nullable = true)
    public CbsEquipmentErrorTypeEntity getEquipmentErrorType2() {
        return this.equipmentErrorType2;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  关键备件故障分类二级
     */
    public void setEquipmentErrorType2(CbsEquipmentErrorTypeEntity equipmentErrorType2) {
        this.equipmentErrorType2 = equipmentErrorType2;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  级别
     */
    @Column(name = "LEVEL", nullable = true, length = 36)
    public java.lang.String getLevel() {
        return this.level;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  级别
     */
    public void setLevel(java.lang.String level) {
        this.level = level;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  第三方处理进度状态
     */
    @Column(name = "SPEED_STATUS", nullable = true, length = 32)
    public java.lang.String getSpeedStatus() {
        return this.speedStatus;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  第三方处理进度状态
     */
    public void setSpeedStatus(java.lang.String speedStatus) {
        this.speedStatus = speedStatus;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  责任人
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "PERSON_LIABLE", nullable = true)
    public TSUser getPersonLiable() {
        return this.personLiable;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  责任人
     */
    public void setPersonLiable(TSUser personLiable) {
        this.personLiable = personLiable;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  关单人
     */
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "CLOSE_USER", nullable = true)
    public TSUser getCloseUser() {
        return this.closeUser;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  关单人
     */
    public void setCloseUser(TSUser closeUser) {
        this.closeUser = closeUser;
    }

    /**
     * 方法: 取得java.lang.Integer
     *
     * @return: java.lang.Integer  是否特批
     */
    @Column(name = "SPECIAL", nullable = true, length = 1)
    public java.lang.Integer getSpecial() {
        return this.special;
    }

    /**
     * 方法: 设置java.lang.Integer
     *
     * @param: java.lang.Integer  是否特批
     */
    public void setSpecial(java.lang.Integer special) {
        this.special = special;
    }

    /**
     * 方法: 取得java.lang.Integer
     *
     * @return: java.lang.Integer  是否HD关单
     */
    @Column(name = "HD_CLOSE", nullable = true, length = 1)
    public java.lang.Integer getHdClose() {
        return this.hdClose;
    }

    /**
     * 方法: 设置java.lang.Integer
     *
     * @param: java.lang.Integer  是否HD关单
     */
    public void setHdClose(java.lang.Integer hdClose) {
        this.hdClose = hdClose;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  特殊案例标记
     */
    @Column(name = "CASE_FLAG", nullable = true, length = 36)
    public java.lang.String getCaseFlag() {
        return this.caseFlag;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  特殊案例标记
     */
    public void setCaseFlag(java.lang.String caseFlag) {
        this.caseFlag = caseFlag;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  预约上门服务时间
     */
    @Column(name = "ORDER_TIME", nullable = true, length = 32)
    public java.util.Date getOrderTime() {
        return this.orderTime;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  预约上门服务时间
     */
    public void setOrderTime(java.util.Date orderTime) {
        this.orderTime = orderTime;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  关单时间
     */
    @Column(name = "CLOSE_TIME", nullable = true, length = 32)
    public java.util.Date getCloseTime() {
        return this.closeTime;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  关单时间
     */
    public void setCloseTime(java.util.Date closeTime) {
        this.closeTime = closeTime;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  创建人名称
     */
    @Column(name = "CREATE_NAME", nullable = false, length = 50)
    public java.lang.String getCreateName() {
        return this.createName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  创建人名称
     */
    public void setCreateName(java.lang.String createName) {
        this.createName = createName;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  创建人登录名称
     */
    @Column(name = "CREATE_BY", nullable = false, length = 50)
    public java.lang.String getCreateBy() {
        return this.createBy;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  创建人登录名称
     */
    public void setCreateBy(java.lang.String createBy) {
        this.createBy = createBy;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  创建日期
     */
    @Column(name = "CREATE_DATE", nullable = false)
    public java.util.Date getCreateDate() {
        return this.createDate;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  创建日期
     */
    public void setCreateDate(java.util.Date createDate) {
        this.createDate = createDate;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  更新人名称
     */
    @Column(name = "UPDATE_NAME", nullable = true, length = 50)
    public java.lang.String getUpdateName() {
        return this.updateName;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  更新人名称
     */
    public void setUpdateName(java.lang.String updateName) {
        this.updateName = updateName;
    }

    /**
     * 方法: 取得java.lang.String
     *
     * @return: java.lang.String  更新人登录名称
     */
    @Column(name = "UPDATE_BY", nullable = true, length = 50)
    public java.lang.String getUpdateBy() {
        return this.updateBy;
    }

    /**
     * 方法: 设置java.lang.String
     *
     * @param: java.lang.String  更新人登录名称
     */
    public void setUpdateBy(java.lang.String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 方法: 取得java.util.Date
     *
     * @return: java.util.Date  更新日期
     */
    @Column(name = "UPDATE_DATE", nullable = true)
    public java.util.Date getUpdateDate() {
        return this.updateDate;
    }

    /**
     * 方法: 设置java.util.Date
     *
     * @param: java.util.Date  更新日期
     */
    public void setUpdateDate(java.util.Date updateDate) {
        this.updateDate = updateDate;
    }

    @Column(name = "cancel_remark", nullable = true)
    public String getCancelRemark() {
        return cancelRemark;
    }

    public void setCancelRemark(String cancelRemark) {
        this.cancelRemark = cancelRemark;
    }

    public CbsServiceEntity(String code, ZyContactsEntity zyContactsId, String sn, ZyEquipmentSpareEntity zyEquipmentSpareId, ZyCinemaEntity zyCinemaId, TSTerritory province, TSTerritory city, String address, String client, String sourceType, CbsServiceTypeEntity serviceType1, CbsServiceTypeEntity serviceType2, String description, String judge400, String status, String contactsName, String email, String qq, String errorCode, CbsErrorTypeEntity errorType1, CbsErrorTypeEntity errorType2, CbsEquipmentErrorTypeEntity equipmentErrorType1, CbsEquipmentErrorTypeEntity equipmentErrorType2, String level, String speedStatus, TSUser personLiable, TSUser closeUser, Integer special, Integer hdClose, String caseFlag, Date orderTime, Date closeTime, String createName, String createBy, Date createDate) {
        this.code = code;
        this.zyContactsId = zyContactsId;
        this.sn = sn;
        this.zyEquipmentSpareId = zyEquipmentSpareId;
        this.zyCinemaId = zyCinemaId;
        this.province = province;
        this.city = city;
        this.address = address;
        this.client = client;
        this.sourceType = sourceType;
        this.serviceType1 = serviceType1;
        this.serviceType2 = serviceType2;
        this.description = description;
        this.judge400 = judge400;
        this.status = status;
        this.contactsName = contactsName;
        this.email = email;
        this.qq = qq;
        this.errorCode = errorCode;
        this.errorType1 = errorType1;
        this.errorType2 = errorType2;
        this.equipmentErrorType1 = equipmentErrorType1;
        this.equipmentErrorType2 = equipmentErrorType2;
        this.level = level;
        this.speedStatus = speedStatus;
        this.personLiable = personLiable;
        this.closeUser = closeUser;
        this.special = special;
        this.hdClose = hdClose;
        this.caseFlag = caseFlag;
        this.orderTime = orderTime;
        this.closeTime = closeTime;
        this.createName = createName;
        this.createBy = createBy;
        this.createDate = createDate;
    }

    public CbsServiceEntity(String code, ZyContactsEntity zyContactsId, String sn, ZyEquipmentSpareEntity zyEquipmentSpareId, ZyCinemaEntity zyCinemaId, TSTerritory province, TSTerritory city, String address, String client, String sourceType, CbsServiceTypeEntity serviceType1, CbsServiceTypeEntity serviceType2, String description, String judge400, String status, String contactsName, String email, String qq, String errorCode, CbsErrorTypeEntity errorType1, CbsErrorTypeEntity errorType2, CbsEquipmentErrorTypeEntity equipmentErrorType1, CbsEquipmentErrorTypeEntity equipmentErrorType2, String level, String speedStatus, TSUser personLiable, TSUser closeUser, String createName, String createBy, Date createDate) {
        this.code = code;
        this.zyContactsId = zyContactsId;
        this.sn = sn;
        this.zyEquipmentSpareId = zyEquipmentSpareId;
        this.zyCinemaId = zyCinemaId;
        this.province = province;
        this.city = city;
        this.address = address;
        this.client = client;
        this.sourceType = sourceType;
        this.serviceType1 = serviceType1;
        this.serviceType2 = serviceType2;
        this.description = description;
        this.judge400 = judge400;
        this.status = status;
        this.contactsName = contactsName;
        this.email = email;
        this.qq = qq;
        this.errorCode = errorCode;
        this.errorType1 = errorType1;
        this.errorType2 = errorType2;
        this.equipmentErrorType1 = equipmentErrorType1;
        this.equipmentErrorType2 = equipmentErrorType2;
        this.level = level;
        this.speedStatus = speedStatus;
        this.personLiable = personLiable;
        this.closeUser = closeUser;
        this.createName = createName;
        this.createBy = createBy;
        this.createDate = createDate;
    }


    public CbsServiceEntity() {
        super();
    }
}
